Although not [required] List field shows up as required and Model State is not Valid due to it bein

Posted by VJ on Stack Overflow See other posts from Stack Overflow or by VJ
Published on 2010-05-12T20:26:50Z Indexed on 2010/05/12 21:04 UTC
Read the original article Hit count: 295

I have the following code-

View-

<% Html.BeginForm(); %>
     <div>
    <%= Html.DropDownList("DropDownSelectList", new SelectList( Model.DropDownSelectList, "Value", "Text"))%>

Controller-

public ActionResult Admin(string apiKey, string userId)
        {
 ChallengesAdminViewModel vm = new ChallengesAdminViewModel();
            vm.ApiKey = apiKey;
            vm.UserId = userId;
  vm.DropDownSelectList = new List<SelectListItem>();
            vm.DropDownSelectList.Add(listItem1);
            vm.DropDownSelectList.Add(listItem2);
            vm.DropDownSelectList.Add(listItem3);
            vm.DropDownSelectList.Add(listItem4);
            vm.DropDownSelectList.Add(listItem5);
            vm.DropDownSelectList.Add(listItem6);
            vm.DropDownSelectList.Add(listItem7);
}
 [HttpPost]
        public ActionResult Admin(ChallengesAdminViewModel vm)
        {
          if (ModelState.IsValid)//Due to the null dropdownlist  gives model state invalid
            {
}
}

ViewModel-

public class ChallengesAdminViewModel
    {
        [Required]
        public string ApiKey { get; set; }
         [Required]
        public string UserId { get; set; }
        public List<SelectListItem> DropDownSelectList { get; set; }

    }

I dont know why it still requires the list although not required. I want to have only two attributes as required. So I wanted to know how do i declare or change that list to be not required and have my Model State Valid.

© Stack Overflow or respective owner

Related posts about asp.net-mvc

Related posts about fields